From: Bastien Nocera Date: Thu, 24 Aug 2017 11:06:45 +0000 (+0200) Subject: remoteSearch: Allow search providers not to auto-start X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~58 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=289f982949c26603efe1136859bbd9bb469469fb;p=gnome-shell.git remoteSearch: Allow search providers not to auto-start This would be used by search providers which only operate on data in the running instance, such as the terminal's search provider which finds the shell in the tab matching the search text. https://bugzilla.gnome.org/show_bug.cgi?id=785380 --- diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js index 24897a599..a7be9265d 100644 --- a/js/ui/remoteSearch.js +++ b/js/ui/remoteSearch.js @@ -117,6 +117,13 @@ function loadRemoteSearchProviders(searchSettings, callback) { // ignore error } + remoteProvider.autoStart = true; + try { + remoteProvider.autoStart = keyfile.get_boolean(group, 'AutoStart'); + } catch(e) { + // ignore error + } + objectPaths[objectPath] = remoteProvider; loadedProviders.push(remoteProvider); } catch(e) { @@ -188,13 +195,18 @@ var RemoteSearchProvider = new Lang.Class({ if (!proxyInfo) proxyInfo = SearchProviderProxyInfo; + let g_flags = Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES; + if (remoteProvider.autoStart) + g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION; + else + g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START; + this.proxy = new Gio.DBusProxy({ g_bus_type: Gio.BusType.SESSION, g_name: dbusName, g_object_path: dbusPath, g_interface_info: proxyInfo, g_interface_name: proxyInfo.name, - g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION | - Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) }); + g_flags }); this.proxy.init_async(GLib.PRIORITY_DEFAULT, null, null); this.appInfo = appInfo;